Convert DIB or BMP into JPEG in memory (diskless) using Windows GDIPlus

#include #include using namespace Gdiplus; GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); … IStream* pJpegStream = NULL; //declare a memory stream CreateStreamOnHGlobal(NULL, TRUE, (LPSTREAM*)&pJpegStream); GpBitmap* pBitmap = NULL; unsigned char* dib = GetDib(); //get DIB or BMP data buffer DllExports::GdipCreateBitmapFromGdiDib((LPBITMAPINFO)dib, dib + sizeof(BITMAPINFOHEADER), &pBitmap); CLSID imageCLSID; GetEncoderClsid(L”image/jpeg”, &imageCLSID); int jpegQuality = 100; EncoderParameters encoderParams; //setup … Continue reading Convert DIB or BMP into JPEG in memory (diskless) using Windows GDIPlus